#!/bin/bash
CWD=$(cd `dirname $0`;pwd)
cd "${CWD}"
source _env

STAMP="$(date +%s)"

[[ -f boot.yaml ]] && echo "find boot.yaml, skip configuring..." || {
  echo "generate boot.yaml ..."
  TMPFILE="boot.${STAMP}.yaml"
  cp -f boot-tmp.yaml $TMPFILE
  sed -i "s|@OB_HOME_PATH@|${OB_HOME_PATH}|g" $TMPFILE
  sed -i "s|@OB_MYSQL_PORT@|${OB_MYSQL_PORT}|g" $TMPFILE
  sed -i "s|@OB_RPC_PORT@|${OB_RPC_PORT}|g" $TMPFILE
  sed -i "s|@OB_ROOT_PASSWORD@|${OB_ROOT_PASSWORD}|g" $TMPFILE
  echo "create boot dirs and deploy ob cluster ..."
  mkdir -p $OB_HOME_PATH && obd cluster deploy "${OB_CLUSTER_NAME}" -c $TMPFILE && mv -f $TMPFILE boot.yaml
}

[[ -f boot.yaml ]] && {
  echo "start ob cluster ..."
  obd cluster restart $OB_CLUSTER_NAME
}

[[ -f init_tenant.sql ]] || {
  echo "generate init_tenant.sql ..."
  TMPSQL="init_tenant.${STAMP}.sql"
  cp -f init_tenant-tmp.sql $TMPSQL
  sed -i "s|@OB_TENANT_NAME@|${OB_TENANT_NAME}|g" $TMPSQL

  if [[ "${OB_ROOT_PASSWORD}x" != "x" ]]; then
    PASSCMD=-p${OB_ROOT_PASSWORD}
  fi

  echo "init tenant and sysbench database ..."
  obclient -h127.1 -uroot@sys -A -Doceanbase -P${OB_MYSQL_PORT} ${PASSCMD} < $TMPSQL &&
    obclient -h127.1 -uroot@${OB_TENANT_NAME} -A -P${OB_MYSQL_PORT} < init_tenant_user.sql &&
    mv -f ${TMPSQL} init_tenant.sql
} && echo "boot success!" && exec /sbin/init
